package cn.itcast.nems.manager.payment;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

import java.math.BigDecimal;

/**
 * 支付相关配置文件
 * @author ChangLu.Gao
 * @version v1.0
 * @program nems-server
 * @description
 * @date 2023/11/17 15:05
 */
@ConfigurationProperties(prefix = "payment")
@Data
@Configuration
public class PaymentProperties {
    /**
     * 学员端收到付款链接域名
     */
    private String studentPayLinkDomain;
    /**
     * 分次支付相关参数配置
     */
    private Partial partial;
    /**
     * 支付平台相关配置
     */
    private ItcastPay itcastPay;

    /**
     * 分次支付相关参数配置
     */
    @Data
    public static class Partial {
        /**
         * 每次最少支付金额
         */
        private BigDecimal limitMinPaidAmount;
        /**
         * 可进行分次支付的最大次数
         */
        private Integer totalPaymentTimes;
    }

    /**
     * 支付平台相关配置
     */
    @Data
    public static class ItcastPay {
        /**
         * 支付平台调用地址
         */
        private String domain;
        /**
         * appid
         */
        private String appId;
        /**
         * 版本号
         */
        private String version;
        /**
         * 同步返回地址, 走OAPI网关转发
         */
        private String returnUrl;
        /**
         * 异步返回地址, 走OAPI网关转发
         */
        private String notifyUrl;
        /**
         * 私钥
         */
        private String privateKey;
        /**
         * 公钥
         */
        private String publicKey;
    }
}
